package com.example.asus.listview;

import android.net.sip.SipSession;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import java.util.List;

public class ListViewActivity extends AppCompatActivity {

    /**用一个数组来模拟List中的数据*/
    private String[] weekStrings={"星期日","星期一","星期二","星期三","星期四", "星期五","星期六"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate ( savedInstanceState );
        setContentView ( R.layout.activity_listview );

        /**创建数组适配器并在ArrayAdapter的构造函数中传入适配的数据*/
        /**ListAdapter（适配器）有3个子类，分别为：
         SimpleAdapter：静态类型的适配器。
         SimpleCursorAdapter：数据库查询结果的适配器。
         ArrayAdapter 数据为任意类型对象的数组或链表的适配器*/

        ArrayAdapter<String> adapter = new ArrayAdapter<String> (
                ListViewActivity.this, android.R.layout.simple_list_item_1, weekStrings
        );
        ListView listView = (ListView) findViewById ( R.id.listview );

        /**设置适配器*/
        /**ListAdapter是ListView和数据的适配器，让一个ListView显示出来，需要3个基本条件：
         1、ListView（需要被显示的列表）
         2、Data：和ListView绑定的数据，一般是一个Cusor或者本例中的一个字符串数组
         3、ListAdapter：是data和ListView的桥梁，起一个适配作用。
         */
        listView.setAdapter ( adapter );

        /**给ListView加上监听方法*/

        listView.setOnItemClickListener ( new AdapterView.OnItemClickListener () {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //ListViewActivity.this.setTitle(((TextView) view). getText());
                ListViewActivity.this.setTitle(((TextView)view).getText());
            }
        } );

    }
}
